sp              :=  $(sp).x
dirstack_$(sp)  :=  $(d)
d               :=  $(dir)

#  component specification
LIBRARY := $(OBJ_DIR)/libcore.a

CORE_OBJS = $(OBJ_DIR)/core.o
CORE_OBJS += $(OBJ_DIR)/usage.o
CORE_OBJS += $(OBJ_DIR)/info.o
CORE_OBJS += $(OBJ_DIR)/task.o
CORE_OBJS += $(OBJ_DIR)/task_manager.o
CORE_OBJS += $(OBJ_DIR)/task_default.o
CORE_OBJS += $(OBJ_DIR)/test_task.o
CORE_OBJS += $(OBJ_DIR)/msg.o
CORE_OBJS += $(OBJ_DIR)/msg_task.o
CORE_OBJS += $(OBJ_DIR)/mem_hash.o
CORE_OBJS += $(OBJ_DIR)/mem.o
CORE_OBJS += $(OBJ_DIR)/mm_task.o
CORE_OBJS += $(OBJ_DIR)/pcap_process.o
CORE_OBJS += $(OBJ_DIR)/mail.o
CORE_OBJS += $(OBJ_DIR)/pcap_init.o
CORE_OBJS += $(OBJ_DIR)/pcap_task.o
CORE_OBJS += $(OBJ_DIR)/core_data.o
CORE_OBJS += $(OBJ_DIR)/db_info.o
CORE_OBJS += $(OBJ_DIR)/db.o
CORE_OBJS += $(OBJ_DIR)/sql.o
CORE_OBJS += $(OBJ_DIR)/mysql_ops.o
CORE_OBJS += $(OBJ_DIR)/packet_ops.o
CORE_OBJS += $(OBJ_DIR)/packet_free_task.o
CORE_OBJS += $(OBJ_DIR)/opendpi_task.o
CORE_OBJS += $(OBJ_DIR)/opendpi_db_task.o
CORE_OBJS += $(OBJ_DIR)/opendpi_packets_top5.o
CORE_OBJS += $(OBJ_DIR)/opendpi_bytes_top5.o
CORE_OBJS += $(OBJ_DIR)/http_parse_task.o
CORE_OBJS += $(OBJ_DIR)/test_dpi_task.o
CORE_OBJS += $(OBJ_DIR)/test_dpi_task2.o
CORE_OBJS += $(OBJ_DIR)/test_dpi_task3.o

OBJS_$(d)  :=  $(CORE_OBJS)

CORE_CFLAGS_LOCAL := -I$(d) -I$(TOP)/include -I$(TOP)/api

$(OBJS_$(d)):  CFLAGS_LOCAL := $(CORE_CFLAGS_LOCAL)

#  standard component Makefile footer
DEPS_$(d)   :=  $(OBJS_$(d):.o=.d)

LIBS_LIST   :=  $(LIBS_LIST) $(LIBRARY)

CLEAN_LIST := $(CLEAN_LIST)
CLEAN_LIST += $(OBJS_$(d))
CLEAN_LIST += $(DEPS_$(d))
CLEAN_LIST += $(LIBRARY) *~

-include $(DEPS_$(d))

$(LIBRARY): $(OBJS_$(d))
	rm -f $@
	$(AR) -cr $@ $^

$(OBJ_DIR)/%.o: $(d)/%.c
	$(COMPILE)

d   :=  $(dirstack_$(sp))
sp  :=  $(basename $(sp))
